package cn.wolfcode.car.business.service;

import cn.wolfcode.car.business.domain.ServiceItem;
import cn.wolfcode.car.business.domain.Statement;
import cn.wolfcode.car.business.query.ServiceItemQuery;
import cn.wolfcode.car.common.base.page.TablePageInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Author WaveHi
 * @Date 12/11/2021 下午 2:23
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 * @Description
 */
public interface ServiceItemService extends IService<ServiceItem> {

    Boolean add(ServiceItem item);

    Boolean update(ServiceItem serviceItem);

    Boolean delete(Long id);

    ServiceItem getServiceItem(Long id);

    List<ServiceItem> getAllServiceItem();

    PageInfo<ServiceItem> getPartOfServiceItem(Integer pageNo, Integer pageSize);

    TablePageInfo<ServiceItem> getPartOfServiceItem(ServiceItemQuery serviceItemQuery);

    TablePageInfo<ServiceItem> getPartOfServiceItem(Integer pageNo, Integer pageSize, ServiceItemQuery serviceItemQuery);

    void saleOff(Long id);

    void saleOn(Long id);

    TablePageInfo<ServiceItem> getAllServiceItems();

    Boolean audit(Long id, Long bpmnInfoId, Long director, Long finance, String info);

    Boolean changeAuditStatus(Long id, Integer status);
}
